[AWS Glue]ViewテーブルをAthenaで作成・更新してみた
こんにちは、CX事業本部の若槻です。
前回の記事ではAWS GlueのViewテーブルをAWS CLIのglue create-tableコマンドで作成してみましたが、かなり煩雑な手順となりました。これはglue update-tableコマンドによる更新操作についても同様となります。
一方でAthenaでCREATE VIEW
クエリを使うことによってもViewテーブルの作成や更新を行えますが、こちらの方が比較的かんたんです。
そこで今回は、Viewテーブルの作成および更新をAmazon Athenaで試してみました。
やってみた
前提
前回の下記記事のCloudFormationテンプレートのリソースがデプロイ済みである前提とします。
作成するViewテーブルの参照元テーブルは下記とします。
- データベース:
devices_data_analystics
- テーブル:
devices_raw_data
このテーブルに対して直接SELECT *
を実行すると下記のようなデータが取得できます。
SELECT * FROM "devices_data_analystics"."devices_raw_data"
Viewの作成
AthenaでのViewの作成にはCREATE VIEW
を使用します。
参照元のテーブルからstate
がtrue
のレコードのみ取得するというオリジナルSQLのViewdevices_raw_data_view
を作成します。
CREATE VIEW "devices_data_analystics"."devices_raw_data_view" AS SELECT * FROM "devices_data_analystics"."devices_raw_data" WHERE state = true
作成したViewに対してSELECT *
を実行すると、オリジナルSQLの通りにデータが取得できています。
SELECT * FROM "devices_data_analystics"."devices_raw_data_view"
Viewの更新
AthenaでのViewの更新にはCREATE OR REPLACE VIEW
を使用します。
オリジナルSQLを、参照元のテーブルからdevice_id
およびtimestamp
列のみ取得するように変更します。
CREATE OR REPLACE VIEW "devices_data_analystics"."devices_raw_data_view" AS SELECT device_id, timestamp FROM "devices_data_analystics"."devices_raw_data"
更新したViewに対してSELECT *
を実行すると、更新したオリジナルSQLの通りにデータが取得できています。
SELECT * FROM "devices_data_analystics"."devices_raw_data_view"
もちろんFROM
句の参照元のテーブルを変更するというViewの更新が可能なことも確認済みです。
おわりに
Viewテーブルの作成および更新をAmazon Athenaで試してみました。
前回のAWS CLIのコマンドによる方法と比べるとやることは格段にシンプルになりますね。
以上